Solving the TTC 2011 Reengineering Case with Henshin
نویسندگان
چکیده
Models are a helpful means of representing different aspects of a software system more abstractly to improve comprehension. In the modeling community, the Eclipse Modeling Framework (EMF) [6] has evolved to a widely used technology. While EMF itself provides modeling and code generation capabilities, extensions such as the Java Model Parser and Printer (JaMoPP) allow the translation of Java source code into equivalent EMF model representations. This paves the way to exploit model-to-model transformations in order to translate source code models into other possibly more abstract representations. HENSHIN [1, 2] is a declarative transformation language and tool environment for in-place EMF model transformation. In-place means that EMF models are modified directly without prior copying or conversion. HENSHIN is able to handle static and dynamic EMF models, i.e., those with underlying generated model code and those without. The transformation concepts base on the well-founded theory of algebraic graph transformation with pattern-based rules as main artifacts, extended by nestable application conditions and attribute calculation. Moreover, nestable transformation units with well-defined operational semantics paired with parameter passing allow to define control and object flows. In the HENSHIN tool environment, transformations can be specified using several (graphical) editors. In the following, a representative selection of the complete solution of the Transformation Tool Contest (TTC) 2011 case study Model Transformations for Program Understanding: A Reengineering Challenge [3] is described. The goal of this case study is to translate JaMoPP-based Java models into corresponding simple state machine models . This translation is implemented using HENSHIN.
منابع مشابه
Solving the TTC 2011 Reengineering Case with MOLA and Higher-Order Transformations
The Reengineering Case of the Transformation Tool Contest 2011 deals with automatic extraction of state machine from Java source code. The transformation task involves complex, non-local matching of model elements. This paper contains the solution of the task using model transformation language MOLA. The MOLA solution uses higher-order transformations (HOT-s) to generate a part of the required ...
متن کاملSolving the Class Responsibility Assignment Case with Henshin and a Genetic Algorithm
This paper presents a solution to the TTC2016 challenge ”The Class Responsibility Assignment Case”. Our solution uses the Henshin model transformation language to specify genetic operators in a standard genetic algorithm framework. Due to its formal foundation based on algebraic graph transformations, Henshin is well-suited to specify fundamental change patterns for genetic operators in a decla...
متن کاملSolving the TTC 2011 Reengineering Case with Edapt
1 Edapt in a Nutshell Edapt1 is a transformation tool tailored for the migration of models in response to metamodel adaptation. Edapt is an official Eclipse tool derived from the research prototype COPE. Modeling the Coupled Evolution. As depicted by Figure 1, Edapt specifies the metamodel adaptation as a sequence of operations in an explicit history model. The operations can be enriched with i...
متن کاملSolving the TTC 2011 Reengineering Case with GrGen.NET
Fully Featured Meta Model: GRGEN.NET uses attributed and typed multigraphs with multiple inheritance on node/edge types. Attributes may be typed with one of several basic types, user defined enums, or generic set, map, and array types. Expressive Rules, Fast Execution: The expressive and easy to learn rule specification language allows straightforward formulation of even complex problems, with ...
متن کاملProgram Understanding: A Reengineering Case for the Transformation Tool Contest
In Software Reengineering, one of the central artifacts is the source code of the legacy system in question. In fact, in most cases it is the only definitive artifact, because over the time the code has diverged from the original architecture and design documents. The first task of any reengineering project is to gather an understanding of the system’s architecture. Therefore, a common approach...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011